The advent of cloud-based computing architectures has opened new possibilities for the rapid and scalable deployment of virtual Web stores, media outlets, social networking sites, and many other on-line sites or services. In general, a cloud-based architecture deploys a set of hosted resources such as processors, operating systems, software and other components that can be combined together to form virtual machines. A user or customer can request the instantiation of a virtual machine or set of machines from those resources from a central server or cloud management system to perform intended tasks, services, or applications. For example, a user may wish to set up and instantiate a virtual server from the cloud to create a storefront to market products or services on a temporary basis, for instance, to sell tickets to or merchandise for an upcoming sports or musical performance. The user can subscribe to the set of resources needed to build and run the set of instantiated virtual machines on a comparatively short-term basis, such as hours or days, for their intended application.
Typically, when a user utilizes a cloud, the user must track the software applications executed in the cloud and/or processes instantiated in the cloud. For example, the user must track the cloud processes to ensure that the correct cloud processes have been instantiated, that the cloud processes are functioning properly and/or efficiently, that the cloud is providing sufficient resources to the cloud processes, and so forth. Due in part to the user's requirements and overall usage of the cloud, the user may have many applications and/or processes instantiated in a cloud at any given instant, and the user's deployment of virtual machines, software, and other resources can change dynamically over time. In cases, the user may also utilize multiple independent clouds to support the user's cloud deployment. That user may further instantiate and use multiple applications or other software or services inside or across multiple of those cloud boundaries, and those resources may be used or consumed by multiple or differing end-user groups in those different cloud networks.
As such, users or operators who wish to capture the usage history of their diverse cloud-based application deployments, and potentially export the usage history data between two or more clouds, may be confronted with various difficulties. As one complicating factor, the user may need to independently contact or register with cloud management systems in each cloud across which they wish to share usage history data. A user or operator may, for instance, arrange for a backup cloud-based network for purposes of fail-over operation, and/or to stand in reserve to “re-cloud” the resources of the user's population of virtual machines if those machines have reach capacity limits of the host cloud. In other cases, the user or administrator may wish to aggregate the usage histories of a host cloud with one or more target clouds. However, in existing platforms the cloud management system(s) of the target cloud or clouds may have no direct channel or technique to extract the usage history of the host or originating cloud.
Each of the host and target cloud management systems which support the user's cloud networks may in fact have different communication protocols, security requirements, application programming interfaces (APIs), and/or other specifications, standards, or formats. An administrator attempting to organize and export the usage activity or related record of a host cloud to one or more target clouds (which with the user may or may not already be registered) may therefore have to manually configure the connection or data to be able to compatibly communicate with the cloud management system(s) or other management platform(s) located in individual target clouds. It may be desirable to provide systems and methods for exporting usage history data as input to a management platform of a target cloud-based network, in which users based in a host cloud or clouds can access an external service to access usage history data in a host cloud, filter and convert that data, and export the resulting usage history data or selective subsets of that data from the host cloud deployment to remote management platforms of other clouds.